// /**
//  * JSON parameters require a model. This one just has "name"
//  * @typedef ReqNameJSON
//  * @property {string} name.required - name of person making request - eg: John Doe
//  */
// /**
//  * This route will respond greetings to name in json request body.
//  * @route POST /hello/
//  * @group hello - Test Demo
//  * @param {ReqNameJSON.model} name.body.required - username or email
//  * @returns {object} 200 - An object with the key 'msg'
//  * @returns {Error}  default - Unexpected error
//  */
// router.post("/", function() {});



// /**
//  * @typedef Product
//  * @property {integer} id
//  * @property {string} name.required - Some description for product
//  * @property {Array.<Point1>} Point1
//  */

// /**
//  * @typedef Point1
//  * @property {integer} x.required
//  * @property {integer} y.required - Some description for point - eg: 1234
//  * @property {Array.<Color>} Color
//  */

// /**
//  * @typedef Color
//  * @property {string} blue
//  */

// /**
//  * @route GET /test/
//  * @returns {Array.<Point1>} Point - Some description for point
//  */
// router.get('/test', function() {});


// /**
//  * @typedef Product
//  * @property {integer} id
//  * @property {string} name.required - Some description for product
//  * @property {Array.<Point>} Point
//  */

// /**
//  * @typedef Point
//  * @property {integer} x.required
//  * @property {integer} y.required - Some description for point - eg: 1234
//  * @property {string} color
//  * @property {enum} status - Status values that need to be considered for filter - eg: available,pending
//  */

// /**
//  * @typedef Error
//  * @property {string} code.required
//  */

// /**
//  * @typedef Response
//  * @property {[integer]} code
//  */


// /**
//  * This function comment is parsed by doctrine
//  * sdfkjsldfkj
//  * @route POST /users
//  * @param {Point.model} point.body.required - the new point
//  * @group foo - Operations about user
//  * @param {string} email.query.required - username or email
//  * @param {string} password.query.required - user's password.
//  * @param {enum} status.query.required - Status values that need to be considered for filter - eg: available,pending
//  * @operationId retrieveFooInfo
//  * @produces application/json application/xml
//  * @consumes application/json application/xml
//  * @returns {Response.model} 200 - An array of user info
//  * @returns {Product.model}  default - Unexpected error
//  * @returns {Array.<Point>} Point - Some description for point
//  * @headers {integer} 200.X-Rate-Limit - calls per hour allowed by the user
//  * @headers {string} 200.X-Expires-After - 	date in UTC when token expires
//  * @security JWT
//  */